草庐IT

bash - 如何从 bash 脚本循环运行带参数的 curl 命令?

这个问题在这里已经有了答案:DifferencebetweensingleanddoublequotesinBash(7个答案)关闭7年前。我有一个curl命令,我想在for循环中执行。例如,我想循环1-100次,当curl命令运行时,它在curl命令本身中使用迭代器变量值。类似#!/bin/bashforiin{1..10}docurl-s-k'GET'-H'headerinfo'-b'stuff''http://example.com/id=$i'done--noticehereIwantvaritobechangingwitheverycurl.什么都有帮助谢谢。

linux - 如何通过计算 AWK 或 bash 中 char 的出现次数来过滤行?

输入是这样的:CNNCCNCNCNNNNCCCCNNNCCCCN输出应该是这样的:CNNCCCCCCN这意味着,如果N的出现次数超过3次,则该行将被过滤掉,否则将被保留。(在我的工作中,我需要过滤掉超过500N的100000行,因此性能可能很重要)我知道如何在awk中按连续的N过滤,但我不知道如何计算不连续的..有人对此有想法吗?shell中的解决方案也可以。在所有答案中,我认为这个可能是最简单的:awk-FN'NF 最佳答案 awk-FN-vcount=3'NF或者,对于不支持-v选项的旧版awk,awk-FN'NF该命令使用目标

linux - bash 脚本中的错误替换错误

我已经尝试了很多,但无法找到解决方案。我有一个简单的脚本:#!/bin/sho="12345"a=ob=${!a}echo${a}echo${b}像执行时$.scp.sh它会产生正确的输出,没有错误,但执行时如下:$./scp.sh它产生./scp.sh:4:./scp.sh:Badsubstitution知道为什么会这样。有人建议我使用bash模式,它工作正常。但是,当我通过Python执行相同的脚本(将脚本头更改为bash)时,我遇到了同样的错误。我从Python中调用它:importosos.system("../scp.sh") 最佳答案

linux - 我怎样才能*仅*获得 bash 中磁盘上的可用字节数?

df在概览方面做得很好。但是,如果我想在shell脚本中将变量设置为磁盘上可用的字节数怎么办?例子:$dfFilesystem1K-blocksUsedAvailableUse%Mountedon/dev/sda111111111122222223333333310%/tmpfs44444444555666666661%/dev/shm但我只想返回33333333(/上可用的字节数),而不是整个df输出。 最佳答案 你可以用df得到准确的字节数:df-B1/文件系统1B-blocksUsedAvailableUse%Mountedo

linux - 使用 Bash 删除具有特定模式的行

我有一个文件,每行一个单词/字符。示例:aabandonadoestaestabelecimentooonibusccasapolice我需要删除具有特定模式的行(例如模式“esta”)。我试过awkcatfile|awk'!/^esta/'但此解决方案也删除了所有具有模式"esta"和"estabelecimento"的行。我只需要删除具有特定模式"esta"而不是"estabelecimento"的行。具有模式"o"和"a"的行也会出现同样的问题。该命令删除以此模式开头的所有行。 最佳答案 使用grep很简单:grep-v-we

linux - Bash 是编译的还是解释的?

当Bash运行您的脚本时,它是将其解析为代码,还是将其解析为命令?Bash是否真的像Python那样编译和运行您的脚本,或者Bash只是通过其命令解析器运行它? 最佳答案 Bash是一种单程解释器,这意味着它一次读取一个命令,然后解释并运行它。其他类型的shell-sh、ksh、zsh、csh等也是如此。这是一个例子。我有一个名为test.sh的3行脚本,如下所示:echooneechotwo'当作为bashtest.sh运行时,它给出以下输出:onetwotest.sh:line3:unexpectedEOFwhilelookin

linux - 调试 bash/ksh 脚本和下标

我知道要调试脚本我可以发出命令set-x在第一行。问题是当脚本启动一些其他脚本时,它们不会继承此设置。所以我的问题是是否有可能为shell和所有子shell或为某些脚本和它启动的所有脚本全局设置这个标志? 最佳答案 在Bash中,您可以使用exportSHELLOPTS。它将使所有Bash子shell继承-x选项(以及SHELLOPTS中的所有其他选项!)。例子:exportSHELLOPTSbash-xscript1.sh参见bashrecursivextrace 关于linux-调试

linux - udev 规则多次运行 bash 脚本

我创建了一个udev规则来在插入一个usb设备后执行一个bash脚本SUBSYSTEMS=="usb",ATTRS{serial}=="00000000",SYMLINK+="Kingston",RUN+="/bin/flashled.sh"但是脚本运行了多次而不是一次,我认为这是检测到硬件的方式?我尝试将sleep10放入脚本和fi中,但没有任何区别。 最佳答案 这不是解决方案,而是解决方法:一种方法(简单)是像这样开始你的脚本“/bin/flashled.sh”#!/bin/bash#thisfileis/bin/flashle

用于执行 Bash/ksh 环境和 shell 应用程序的 Python GUI?

我一直在深入研究Python和GUI应用程序的世界,并取得了一些相当大的进步。不过,我想要一些关于如何进行以下操作的建议:我已经使用python(2.6.6-无法升级系统,因为它是遗留的)和显示多个按钮的gtk创建了一个GUI应用程序,例如应用程序1、应用程序2、应用程序3当我点击一个按钮时,它会运行一个bashshell脚本。该脚本将设置一些必需的环境变量,然后执行另一个外部应用程序(使用这些环境变量)Example:1)useclicksonbuttonapp12)GUIthenlaunchesapp1.shtosetupenvironmentvariables3)GUIthenr

linux - ansible中的bash数组元素计数操作

想知道这在ansible任务中如何工作?-shell:|y=(aabb);echo"${#y[@]}"register:r目前它给出了以下错误ERROR:Therewasanerrorwhileparsingthetask'shelly=(aabb);echo"${#y[@]}"\n'.Makesurequotesarematchedorescapedproperly..那是因为字符“#”。我无法逃避它,否则这是一个无效的bash操作。如果我逃避它,我会得到:$ansible-clocalhost-mshell-a'y=(aabb);echo"${\#y[@]}"'-ihosts.in